// pages/goods_detail/goods_detail.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    id: '',
    ISBN: null,
    bookName: null,   // 图书名称
    version: null,    // 图书版本
    author: null,     // 图书作者
    publish: null,    // 出版社
    amount: 0,        // 单价
    num: 0,           // 上架数量
    location: null,   // 所在楼栋
  },
  // 跳转路由，去购物车页面
  goShoppingCart() {
    wx.navigateTo({
      url: '/pages/shopping_cart/shopping_cart'
    })
  },
  // 修改加入购物车的商品数量
  changeNum(e) {
    console.log(e.detail);
  },
  // 添加购物车
  addShoppingCart() {
    console.log('调用后台API，将商品加入购物车');
    const ui = wx.getStorageSync('userinfo')
    const { id, num } = this.data
    wx.cloud.callFunction({
      name: 'add_shopping_cart',
      data: {
        id: id,                 // 商品的id
        openid: ui.openid,      // 买家的openid
        num: num                // 买家加入购物车的商品数量
      },
      success: res => {
        console.log('add_shopping_cart的回调：', res);
        wx.showToast({
          title: '成功添加',
          icon: 'success',
          duration: 1000
        })
        setTimeout(() => {
          wx.switchTab({
            url: '/pages/index/index',
          })
        }, 1000)
      },
      fail: res => {
        console.log('add_shopping_cart调用失败，错误信息：', res);
      }
    })
  },
  // 立即购买
  buyNow() {
    console.log('调用后台API，立即购买');
    let that = this
    wx.showModal({
      title: '立即购买',
      content: '是否立即购买当前商品？',
      success (res) {
        if (res.confirm) {
          // 调用后台API，删除购物车内订单
          console.log('调用后台API，购买当前商品，订单状态改为挂起');
          const ui = wx.getStorageSync('userinfo')
          let shoppingList = [{
            id: that.data.id,       // 下单的商品
            openid: ui.openid,      // 买家的openid
            num: that.data.num      // 下单的数量
          }]

          wx.cloud.callFunction({
            name: 'do_shopping',
            data: {
              shoppingList
            },
            success: res => {
              console.log('do_shopping的回调：', res);
            },
            fail: res => {
              console.log('do_shopping调用失败，错误信息：', res);
            }
          })

        } else if (res.cancel) {
          console.log('用户点击取消')
        }
      }
    })
  },
  // 请求后台，根据商品id获取商品信息
  getBook(id) {
    console.log('getBook().id', id);
    wx.cloud.callFunction({
      name: 'tap_show',
      data: {
        _id: id
      },
      success: res => {
        let newBook = res.result.data
        newBook.location = `${newBook.location.building.name}${newBook.location.area.name}`
        // 将后台的res中的_id改名为id
        newBook = JSON.parse(JSON.stringify(newBook).replace(/_id/g,"id"));

        console.log('从tap_show返回的信息：', newBook);
        this.setData({
          id: newBook.id,
          ISBN: newBook.ISBN,
          bookName: newBook.bookName,
          version: newBook.version,
          author: newBook.author,
          publish: newBook.publish,
          amount: newBook.amount,
          num: newBook.num,
          location: newBook.location
        })
      },
      fail: res => {
        console.log('从tap_show返回的错误信息：', res);
      }
    })
  },
  onLoad(options) {
    const { goodid } = options
    console.log('goodid = ',goodid);
    // 请求后台，根据商品id获取商品信息
    this.getBook(goodid)
  }
})